package cn.org.wifit.core.service;

import java.io.Serializable;

/**
 * 核心框架基础服务层。
 * @author wenjie
 * @param <T> 实现了AbstractEntity的实体对象
 * @param <S> service所匹配的数据层
 */
public interface IWifitService<T> {
	/**
	 * 向服务层插入一个实体对象
	 * @param entity
	 */
	public void insert(T entity);
	
	/**
	 * 向服务层传入带有唯一标示的对象，并进行修改
	 * @param entity
	 */
	public void update(T entity);
	
	/**
	 * 在服务层使用一个可以被串行化的唯一标示，找到相应的数据对象
	 * @param id
	 */
	public T getEntity(Serializable id);
	
	/**
	 * 在服务层删除指定的唯一标示的数据
	 * @param id
	 */
	public void delete(Serializable id);
}
